/*
 * KmerHash.h
 *
 *  Created on: Dec 2, 2012
 *      Author: hxin
 */

#ifndef KMERHASH_H_
#define KMERHASH_H_

#include <iostream>
#include <string>

#define HASH_LEVEL	3
#define HASH_LENGTH		32

using namespace std;

class KmerHash {
public:
	KmerHash(string DNA, int KmerSize);
	~KmerHash();
	KmerHash(const KmerHash& rhs);

	string getKmer() const;

	static bool compare(const KmerHash& lhs, const KmerHash& rhs);
private:
	int KmerSize;
	void calculateHash(string DNA);
	unsigned long int hashVal[HASH_LEVEL];
};

#endif
